The present invention describes mode switching techniques, devices, systems and software which can be used in three dimensional (3D) pointing devices, as well as in other types of devices.
Technologies associated with the communication of information have evolved rapidly over the last several decades. Television, cellular telephony, the Internet and optical communication techniques (to name just a few modes of communications) combine to inundate consumers with available information and entertainment options. Taking television as an example, the last three decades have seen the introduction of cable television service, satellite television service, pay-per-view movies and video-on-demand, both of the latter being made available by cable, fiber-optic, and satellite service providers, as well as over the internet (e.g., Netflix®). Whereas television viewers of the 1960s could typically receive perhaps four or five over-the-air TV channels on their television sets, today's TV watchers have the opportunity to select from hundreds, thousands, and potentially millions of channels of shows and information. Video-on-demand technology, currently used primarily in hotels and the like, provides the potential for in-home entertainment selection from among thousands of movie titles.
The technological ability to provide so much information and content to end users provides both opportunities and challenges to system designers and service providers. One challenge is that while end users typically prefer having more choices rather than fewer, this preference is counterweighted by their desire that the selection process be both fast and simple. Unfortunately, the development of the systems and interfaces by which end users access media items has resulted in selection processes which are neither fast nor simple. Consider again the example of television programs. When television was in its infancy, determining which program to watch was a relatively simple process primarily due to the small number of choices. One would consult a printed guide that was formatted, for example, as series of columns and rows which showed the correspondence between (1) nearby television channels, (2) programs being transmitted on those channels and (3) date and time. The television was tuned to the desired channel by adjusting a tuner knob and the viewer watched the selected program. Later, remote control devices were introduced that permitted viewers to tune the television from a distance. This addition to the television-user interface created the phenomenon known as “channel surfing” whereby a viewer could rapidly view short segments being broadcast on a number of channels to quickly learn what programs were available at any given time.
Despite the fact that the number of channels and amount of viewable content has dramatically increased, the generally available user interface, control device options and frameworks for televisions has not changed much over the last 30 years. Printed guides, and their displayed counterparts on a guide channel, are still the most prevalent mechanism for conveying programming information. The multiple button remote control 100, an example of which is illustrated in FIG. 1 with up 102, down 104, left 106 and right 108 arrows, is still the most prevalent channel/content navigation mechanism. The reaction of those who design and implement the TV user interface to the increase in available media content has been a straightforward extension of the existing selection procedures and interface objects. Thus, the number of rows in the printed guides has been increased to accommodate more channels. The number of buttons on the remote control devices has been increased to support additional functionality and content handling. However, this approach has significantly increased both the time required for a viewer to review the available information and the complexity of actions required to implement a selection. For example, in a large grid guide supporting hundreds of channels, a user may have to perform 50 or a 100 up-down-left-right button presses to navigate the grid guide and make a content selection. Arguably, the cumbersome nature of the existing interface has hampered commercial implementation of some services, e.g., video-on-demand, since consumers are resistant to new services that will add complexity to an interface that they view as already too slow and complex.
Some attempts have also been made to modernize the screen interface between end users and media systems. However, these attempts typically suffer from, among other drawbacks, an inability to easily scale between large collections of media items and small collections of media items. For example, interfaces which rely on lists of items may work well for small collections of media items, but are tedious to browse for large collections of media items. Interfaces which rely on hierarchical navigation (e.g., tree structures) may be speedier to traverse than list interfaces for large collections of media items, but are not readily adaptable to small collections of media items. Additionally, users tend to lose interest in selection processes wherein the user has to move through three or more layers in a tree structure. For all of these cases, current remote units make this selection process even more tedious by forcing the user to repeatedly depress the up and down buttons to navigate the list or hierarchies. When selection skipping controls are available such as page-up and page-down, the user usually has to look at the remote to find these special buttons or be trained to know that they even exist. Accordingly, organizing frameworks, techniques and systems that simplify the control and screen interface between users and media systems as well as accelerate the selection process, while at the same time permitting service providers to take advantage of the increases in available bandwidth to end user equipment by facilitating the supply of a large number of media items and new services to the user have been proposed in the Assignee's earlier U.S. patent application Ser. No. 10/768,432, filed on Jan. 30, 2004, entitled “A Control Framework with a Zoomable Graphical User Interface for Organizing, Selecting and Launching Media Items”, the disclosure of which is incorporated here by reference.
Of particular interest for this specification are the remote devices usable to interact with such frameworks, as well as other applications and systems. As mentioned in the above-incorporated application, various different types of remote devices can be used with such frameworks including, for example, trackballs, “mouse”-type pointing devices, light pens, etc. However, another category of remote devices which can be used with such frameworks (and other applications) is 3D pointing devices. The phrase “3D pointing” is used in this specification to refer to the ability of an input device to move in three (or more) dimensions in the air in front of, e.g., a display screen, and the corresponding ability of the user interface to translate those motions directly into user interface commands, e.g., movement of a cursor on the display screen. The transfer of data between the 3D pointing device may be performed wirelessly or via a wire connecting the 3D pointing device to another device. Thus “3D pointing” differs from, e.g., conventional computer mouse pointing techniques which use a surface, e.g., a desk surface or mouse pad, as a proxy surface from which relative movement of the mouse is translated into cursor movement on the computer display screen. An example of a 3D pointing device can be found in Assignee's U.S. Pat. No. 7,158,118 to Matthew G. Liberty (hereafter referred to as the '118 patent), the disclosure of which is incorporated here by reference.
The '118 patent describes 3D pointing devices which include, for example, one or more rotational sensors and an accelerometer. The rotational sensor(s) are used, as described in more detail below, to detect an angular rate at which the 3D pointing device is being rotated by a user, and this information is conveyed to a user interface wherein it can be used, for example, to control cursor movement. Such 3D pointing devices have been shown to free the user from the constraints of up-down-left-right (UDLR) remote control devices 100 by, for example, allowing them to directly, quickly and randomly access any point or region on a displayed user interface or screen.
However, despite the established benefits of 3D pointing, an issue that may be presented with this new technology is how to handle legacy applications or systems that expect UDLR inputs to select user interface objects, e.g., media selections on a television. Even though 3D pointing provides a superior user experience in many respects, given the large number of devices and applications that have been designed to expect UDLR inputs, 3D pointing (by itself) may not provide sufficient support for such legacy systems. Of perhaps more significant importance, however, is that code bases for set top boxes (STB) and television operation, for example, are so large that a substantial transition period needs to planned for wherein legacy (UDLR) style navigation has to co-exist with the newer 3D pointing style navigation. A new device (i.e., a new 3D pointer) that implements both forms of control into one device and that can change mode of control between different applications, or even different screens, without compromising performance of either type would provide an easy, elegant and simple transition path from the legacy UDLR-type navigation to pointing-type navigation.